window.addEventListener('load', function () {
    // 获取元素
    // 去登录
    let goLogin = this.document.querySelector('.goLogin')
    // 登录面板
    let login = this.document.querySelector('.login')
    // 注册页面
    let register = this.document.querySelector('.register')
    // 去注册
    let goRegister = this.document.querySelector('.goRegister')
    // 注册--用户名
    let regUsername = document.querySelector('.register [name="username"]')
    // 注册--密码
    let regPassword = document.querySelector('.register [name="password"]')
    // 登录--用户名
    let logUsername = document.querySelector('.login [name="username"]')
    // 登录--密码
    let logPassword = document.querySelector('.login [name="password"]')

    // 实现 登录和隐藏
    goRegister.addEventListener('click', function () {
        register.style.display = 'block'
        login.style.display = 'none'
    })
    goLogin.addEventListener('click', function () {
        register.style.display = 'none'
        login.style.display = 'block'
    })

    // 校验规则
    // 添加表单的校验规则
    // 比如，验证一个用户名和密码
    function test() {
        return {
            // 指定需要校验的字段名称
            fields: {
                username: {
                    // 这里username是 input 的name属性值，表示对这个输入框进行验证
                    validators: {
                        // 添加真正的校验规则
                        notEmpty: {
                            //不能为空
                            message: '用户名不能为空.' // 如果不满足校验规则，则给出这句提示
                        },
                        stringLength: {
                            //检测长度
                            min: 2, // 最少2位
                            max: 15, // 最多15位
                            message: '用户名需要2~15个字符'
                        }
                    }
                },
                password: {
                    validators: {
                        notEmpty: {
                            message: '密码不能为空'
                        },
                        stringLength: {
                            //检测长度
                            min: 6,
                            max: 15,
                            message: '密码需要6~15个字符'
                        }
                    }
                }
            }
        }
    }


    // 注册 
    $('.register form').bootstrapValidator(test())
        .on('success.form.bv', function (e) {
            e.preventDefault()
            // 接下来收集数据发起ajax请求
            axios({
                method: 'post',
                url: '/api/register',
                data: {
                    username: regUsername.value,
                    password: regPassword.value
                }
            }).then(res => {
                if (res.data.code == 0) {
                    alert(res.data.message)
                } else if (res.data.code == 1) {
                    toastr.warning(res.data.message)
                }

            })
        })
    // 登录
    $('.login form').bootstrapValidator(test())
        .on('success.form.bv', function (e) {
            e.preventDefault()
            axios({
                method: 'post',
                url: '/api/login',
                data: {
                    username: logUsername.value,
                    password: logPassword.value
                }
            }).then(res => {
                if (res.data.code == 0) {
                    // 实现本地存储
                    localStorage.setItem('viewproject-83-token', res.data.token)
                    location.href = './index.html'
                } else if (res.data.code == 1) {
                    toastr.error(res.data.message)
                }
            })
        })
}) 